1. Field of the Invention
This invention relates to the fields of filtering, sorting, prioritizing and rejecting electronic messages such as e-mail.
2. Background of the Invention
Bulk electronic messaging such as mass mailings of electronic newsletters, advertisements, business announcements, etc., can be categorized from a recipient's viewpoint as “solicited” and “unsolicited”. Solicited messages are messages which the recipient expects or has requested to be sent, such as subscription information services, news alerts, etc. A recipient of these messages has usually registered for the messages, such as having been added to an “opt-in” mailing list.
Unsolicited messages are messages which the recipient has not requested, but which have been sent to the recipient by a source which may or may not be known to the recipient, such as advertisements, scam messages, promotional messages, etc.
“Spam” is an inexact term used by system operators, bulk mail senders (e.g. authors), and recipients, alike. It generally refers to messages which are sent in bulk (e.g. many recipients for the same message), and which is undesirable. Depending on the recipient's view of the message itself, it may or many not be “spam”. For example, consider that an online book seller provides each user of its e-commerce website the option to be sent messages about “special offers” and from “selected partners”. For one particular user, if messages for such “special” offers are received daily or even multiple times per day, the recipient may consider the messages “spam”, even though he or she elected to be part of the mailing list. In another example, the recipient may consider a message to be “spam” from a travel company associated with the book seller (e.g. a “selected partner”) because he or she did not expect to receive any messages other than book-related messages, while another recipient in the mailing list may appreciate the contact with the travel company.
So, depending on the content of the message, the historical context under which a message is sent from an author to a recipient, and the perspective of the recipient, a bulk mail message may or may not be considered “spam”.
FIG. 1 illustrates in general a bulk mailing arrangement (10), such as bulk email processes. A number of intended or targeted recipients (14) are interconnected to a source or sender (12) via a computer network (11). In the most common case of bulk electronic messaging, the sending server (12) is a Simple Mail Transfer Protocol (“SMTP”) server, the computer network (11) is the Internet, the receiving servers (13a, 13b, and 13c) are Post Office Protocol (“POP”) servers, and the recipients are email terminals (e.g. personal computers, personal digital assistants, web-enabled wireless telephones, etc.) having unique email addresses. Other arrangements may use other protocols and equipment such as the Short Message Server (“SMS”) used by many cellular telephones, text pagers, proprietary messaging schemes, and even facsimile transmissions.
In this arrangement, the sending server (12) accesses one or more mailing lists (15) which contains addresses of recipients (14) to which a particular bulk mail message is to be sent. In some cases, the mailing lists (15) may be sophisticated database entries for each possible recipient, including information about that recipient to help determine if the message should be sent or not (e.g. user's interests, key words, subjects, etc.). In other cases, the mailing list may be as simple as a list of email addresses, all of which are sent every bulk mail message.
The sending server (12) then composes a single message designating multiple recipients, or multiple messages each of which designates a single recipient from the mailing list. The message(s) are then transmitted via the computer network (1) to one or more receiving servers (13a, 13b, 13c), ultimately for delivery to the intended recipients (14).
Some spam filters have been brought to the market to help solve this problem in recent years. The general approach has been to detect a pattern that identifies a message as spam. Some spam filters “execute” or run at the receiving server's point in the process, using the ability to survey across multiple user's mailboxes to look for certain patterns, as well as being able to look at messages in individual mailboxes for patterns and to apply each user's specific preferences. Other filters run on the recipient's device, such as within the user's PC or PDA, blocking display or download of certain messages based upon various factors.
Most messages, and especially SMTP email messages, are comprises of several parts, including generally:                (a) a “header” which includes a source designator, a recipient designator, a format or protocol designator, time and routing information, and often a “subject” or summary field;        (b) a “body” or message portion containing the actual message such as text, Hyper Text Markup Language (“HTML”) or other data; and        (c) optional attachments and/or quoted information from other sources (e.g. forwarded text).        
Using defined spam patterns, a spam filter can search the inbound email, including headers, subject line, and the message body, for any of the identified patterns. If one of these patterns is found, then the filter moves the message into a special folder such as a “look at later” folder, or deletes the message altogether, usually depending on the intended recipient's preferences.
Some spam filtering systems use a “whitelist/blacklist” scheme. According to this approach, each user configures a “whitelist” (16) of senders from which the user will accept or desires bulk messages. The blacklist (not shown) is a list of senders for whom all messages should be blocked or rejected. Some messages from unknown senders, of course, will not fit with either list, and must be handled “normally”.
Such a whitelist is usually integrated with a user's address book. For example, Yahoo!'s email server allows each user to set up or configure a personal address book so he doesn't have to remember the email address for each person with whom he keeps correspondence. Yahoo! also provides an option on their email server that allows the user to accept all messages which are sent from addresses currently in his or her address book. This option creates a whitelist, though it is invisible to the user.
A user may also manually create a whitelist outside of his address book in some systems. This method is generally used to receive newsletters or any bulk-email to which the user has subscribed.
The blacklist, as the name would imply, is the opposite of the whitelist. This list is used to indicate addresses from whom email should always be regarded as spam. Many servers use a server-wide blacklist such that once a sender has been identified as a spammer, the server will block messages from that sender for all recipients served by that receiving server, unless a particular user has added the sender to his whitelist. The blacklist is not highly effective though, as bulk email senders change their source addresses quite frequently, making it difficult to track and block them.
While using a whitelist and a blacklist to simply check for individual senders can eliminate some spam message, most users still want more accuracy. Some users configure a few simple filters, in addition to enabling a whitelist. Most email client software programs such as Netscape Messenger allow the ability to set up filters locally. There are also a variety of third-party products that integrate with many popular email clients, including Microsoft Outlook and Outlook Express.
The local filter is set up to check for a specific pattern in a specific portion of the message. For example, a commonly used filter may check for words from a pornographic or objectionable word list, which appear in the subject and/or the message body. Another filter setting may reject messages which have a high number of recipients in the “to” field, or which purport to be a “Reply” to a thread of discussion which does not exist in the user's mailbox.
When these two methods are combined together, a user can eliminate quite a bit of spam, and unfortunately, some “good” messages, as well. For example, consider a user who works in research for space vehicles at a major university. If he sets a filter rule on his email client program, or if the university's information technology (“IT”) department enables a filter for a objectionable word list which includes the word “sex” and variations of it, he may not receive legitimate messages having the subject “Mars Explorer”, as it contains a string variant “ . . . s ex . . . ”. This could potentially be catastrophic for the user, as he may miss a very important email.
Consequently, users and technology developers in the industry are still searching for a perfect answer to block spam. The problem is, cleverly designed spam purposely mimics good email so that either:                (a) The filters are too weak to catch it all, or        (b) The filters are too tight and after the user misses real mail a couple of times, they turn off the filter cause they can't afford to possibly miss good mail.        
U.S. Pat. No. 6,266,692 to Greenstein provides limited functionality to process email which is received from a known or trusted source. According to this method, each “known” sender of email is provided a “passcode” by the recipient. When the known or trusted sender authors a new message, the message is augmented to include the passcode in its header. When the message is received by the recipient (or by the recipient's mail server), messages having correct passcodes associated with the senders are forwarded directly to the recipient, and messages with incorrect passcodes are blocked or set aside for later review.
While this method is useful for some types of bulk mail, it presents some challenges and limitations in some situations. For example, each mail list management program (e.g. bulk mail sending program) must remember individualized passcodes for each user. Additionally, passcodes may be inadvertently disclosed by a sender by including the passcode in a header to a message to another recipient. Additionally, the recipient must manage and issue the passcodes.
Therefore, there is a need in the art for a system and method which ensures that good or desirable bulk messages are guaranteed to be delivered to the user.